#define  _CRT_SECURE_NO_WARNINGS
#include "BSTree.h"
#include <vector>
void test()
{
	vector<int> arr{10, 5, 15, 3, 13, 18, 4, 7, 9, 16};
	BSTree<int> bst;
	for (auto e : arr)
		bst.Insert(e);

	bst.InOrder();
	for (auto e : arr)
	{
		bst.Erase(e);
		bst.InOrder();
	}
}
void testR()
{
	//vector<int> arr{10, 5, 15, 3, 13, 18, 4, 7, 9, 16};
	vector<int> arr{10, 5, 15};
	BSTree<int> bst;
	for (auto e : arr)
		bst.InsertR(e);
	//bst.EraseR(10);

	//bst.InOrder();
	for (auto e : arr)
	{
		bst.EraseR(e);
		bst.InOrder();
	}
}

void testR2()
{
	vector<int> arr{10, 5, 15, 7};
	BSTree<int> bst;
	for (auto e : arr)
		bst.InsertR(e);
	bst.EraseR(10);

	bst.InOrder();
	for (auto e : arr)
	{
		bst.EraseR(e);
		bst.InOrder();
	}
}
void testR3()
{
	vector<int> arr{10, 5, 15, 7};
	BSTree<int> bst;
	for (auto e : arr)
		bst.InsertR(e);
	bst.EraseR(10);

	bst.InOrder();
	for (auto e : arr)
	{
		bst.EraseR(e);
		bst.InOrder();
	}
}
int main()
{
	//test();
	//testR();
	testR2();

	return 0;
}